# ⚠️ 平台原始代码 - 请原样输入至教学平台(注释除外),平台才会判定答案正确
import pandas as pd # 导入Pandas数据分析库
import numpy as np # 导入NumPy数值计算库
from pylab import mpl # 导入mpl模块
import matplotlib.pyplot as plt # 导入Matplotlib绑图库
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
plt.rcParams['axes.unicode_minus']=False # 正常显示负号
date=["2019年4月","2019年5月","2019年6月","2019年7月","2019年8月"]#创建一个日期的列表
name=['标普500指数','富时100指数','恒生指数','上证综指']#创建一个指数名称的列表
# 创建NumPy数组closeprice
closeprice=np.array([[2945.83,7418.22,29699.11,3078.34],[2752.06,7161.71,26901.09,
2898.70],[2941.76,7425.63,28542.62,2978.88],[2980.38,7586.78,27777.75,2932.51], # 续行:closeprice=np.array(的数据项
[2926.46,7207.18,25724.73,2886.24]]) #创建收盘价的数据框
index_data = pd.DataFrame(data=closeprice,index=date,columns=name) #生成月末收盘价的数据框
index_return = index_data/index_data.shift(1)-1 #生成月度涨跌幅的数据框
index_return = index_return.dropna() #删除缺失值
plt.figure(figsize=(11,10)) # 创建图形画布
plt.subplot(2,2,1) #第1行、第1列子图
# 绑制柱状图
plt.bar(x=index_return.columns,height=index_return.iloc[0],width=0.5,label=u"2019年5月涨跌幅",facecolor="y")
plt.xticks (fontsize=13) # 设置X轴刻度标签
plt.yticks(fontsize=13) # 设置Y轴刻度标签
plt.ylabel(u"涨跌幅",fontsize=13,rotation=90) # 设置Y轴标签
plt.legend(loc=9,fontsize=13) #图列放置在中上位置
plt.grid(True) # 显示网格线
plt.subplot(2,2,2,sharex=plt.subplot(2,2,1),sharey=plt.subplot(2,2,1)) #与第一个子图个的x轴和Y轴相同
# 绑制柱状图
plt.bar(x=index_return.columns,height=index_return.iloc[1],width=0.5,label=u"2019年6月涨跌幅",facecolor="c")
plt.xticks (fontsize=13) # 设置X轴刻度标签
plt.yticks(fontsize=13) # 设置Y轴刻度标签
plt.legend(loc=8,fontsize=13) #图列放置在中下位置
plt.ylabel(u"涨跌幅",fontsize=13,rotation=90) # 设置Y轴标签
plt.grid(True) # 显示网格线
plt.subplot(2,2,3,sharex=plt.subplot(2,2,1),sharey=plt.subplot(2,2,1)) # 选择子图位置
# 绑制柱状图
plt.bar(x=index_return.columns,height=index_return.iloc[2],width=0.5,label=u"2019年7月涨跌幅",facecolor="b")
plt.xticks (fontsize=13) # 设置X轴刻度标签
plt.yticks(fontsize=13) # 设置Y轴刻度标签
plt.legend(loc=9,fontsize=13) # 添加图例
plt.ylabel(u"涨跌幅",fontsize=13,rotation=90) # 设置Y轴标签
plt.grid(True) # 显示网格线
plt.subplot(2,2,4,sharex=plt.subplot(2,2,1),sharey=plt.subplot(2,2,1)) # 选择子图位置
# 绑制柱状图
plt.bar(x=index_return.columns,height=index_return.iloc[3],width=0.5,label=u"2019年8月涨跌幅",facecolor="b")
plt.xticks (fontsize=13) # 设置X轴刻度标签
plt.yticks(fontsize=13) # 设置Y轴刻度标签
plt.legend(loc=9,fontsize=13) # 添加图例
plt.ylabel(u"涨跌幅",fontsize=13,rotation=90) # 设置Y轴标签
plt.grid(True) # 显示网格线
plt.savefig("1.png") # 保存图形至文件